<?php
class UsuarioDAO {

    private $db;

    function __construct() {
        	include_once './DBConnect.php';
		include_once './config.php';
		include_once './Usuario.php';	
		
	        $this->db = DBConnect::connect();
    }

	function __destruct(){
		$this->db->close();
	}
	
    public function insert($usuario) {
		if(($query = $this->db->prepare('INSERT INTO USUARIO(usuario, senha) VALUES(?,?)'))){	
			if($query->bind_param('ss', $usuario->getUsuario(), $usuario->getSenha() )){
				$result["execute"] = $query->execute();
				$result["id"] = $this->db->insert_id;
				$result["text"] = $query->error;
 				$query->close();
			}
		}
		return $result;
    }
	
    public function update($usuario) {
		if(($query = $this->db->prepare('UPDATE USUARIO SET senha = ?, data_ultimo_login = ?, quantidade_tentativas = ?, hora_bloqueio =?, hora_desbloqueio = ? WHERE usuario = ?'))){	
			if($query->bind_param('ssisss', $usuario->getSenha(), $usuario->getData_ultimo_login(), $usuario->getQuantidade_tentativas(), $usuario->getHora_bloqueio(), $usuario->getHora_Desbloqueio(), $usuario->getUsuario() )){
				$result["execute"] = $query->execute();
				$result["id"] = $this->db->insert_id;
				$result["text"] = $query->error;
 				$query->close();
			}
		}
		return $result;
    }	

    public function getAll() {
        $result = $this->db->query("SELECT id, usuario, senha, data_ultimo_login, quantidade_tentativas, hora_bloqueio, hora_desbloqueio FROM USUARIO");
		$retorno["query"] = $result;
		while($row = $result->fetch_array(MYSQLI_ASSOC)){
			$usuarioVO = new Usuario($row["usuario"],$row["senha"],$row["data_ultimo_login"],$row["quantidade_tentativas"],$row["hora_bloqueio"],$row["hora_desbloqueio"]);
			$usuarioVO->setId($row["id"]);
			$retorno["usuarios"][] = $usuarioVO;
		}
        return $retorno;
    }

    public function getUsuario($usuario) {
        $result = $this->db->query("SELECT id, usuario, senha, data_ultimo_login, quantidade_tentativas, hora_bloqueio, hora_desbloqueio  FROM USUARIO WHERE usuario = '".$usuario->getUsuario()."'");
        $retorno["query"] = $result;
		if($row = $result->fetch_array(MYSQLI_ASSOC)){
			$retorno["usuario"] = new Usuario($row["usuario"],$row["senha"],$row["data_ultimo_login"],$row["quantidade_tentativas"],$row["hora_bloqueio"],$row["hora_desbloqueio"]);
			$retorno["usuario"]->setId($row["id"]);
		}
		return $retorno;
    }
	
}
?>